package indi.zhifa.study2025.oa.admin.facade.role;

import indi.zhifa.study2025.oa.model.expose.role.dto.RoleCreateDto;
import indi.zhifa.study2025.oa.model.expose.role.dto.RoleEditDto;
import indi.zhifa.study2025.oa.model.expose.role.dto.RoleGroupCreateDto;
import indi.zhifa.study2025.oa.model.expose.role.dto.RoleGroupEditDto;
import indi.zhifa.study2025.oa.model.expose.role.vo.RoleGroupAllVo;
import indi.zhifa.study2025.oa.model.expose.role.vo.RoleGroupVo;
import indi.zhifa.study2025.oa.model.expose.role.vo.RoleVo;

import java.util.List;

public interface IRoleFacade {
    /**
     * 创建角色组
     */
    RoleGroupVo createRoleGroup(RoleGroupCreateDto pRoleGroupCreateDto);

    /**
     * 创建角色
     */
    RoleVo createRole(Long pGroupId, RoleCreateDto pRoleCreateDto);

    /**
     * 编辑角色组信息
     */
    RoleGroupVo editRoleGroup(Long pId, RoleGroupEditDto pRoleGroupEditDto);


    /**
     * 标记角色基础信息
     */
    RoleVo editRole(Long pId, RoleEditDto pRoleEditDto);

    List<RoleGroupAllVo> list();

    void assignMenu(Long pId, List<Long> pMenuIds);

}
